package 牛客;

import org.junit.Test;

public class 合并两个有序数组 {
    /**
     * 给出一个整数数组 A 和有序的整数数组 B ，请将数组 B 合并到数组 A 中，变成一个有序的升序数组
     * 输入：
     *      [4,5,6],[1,2,3]
     * 返回值：
     *      [1,2,3,4,5,6]
     * 说明：
     *      A数组为[4,5,6]，B数组为[1,2,3]，后台程序会预先将A扩容为[4,5,6,0,0,0]，
     *      B还是为[1,2,3]，m=3，n=3，传入到函数merge里面，然后请同学完成merge函数，
     *      将B的数据合并A里面，最后后台程序输出A数组
     */
    public class Solution {

        public void merge(int A[], int m, int B[], int n) {
            for (int i = m, j = 0; i < n + m; i++, j++) {
                A[i] = B[j];
            }
            for (int i = 0; i < m + n; i++) {
                for (int j = 1; j < m + n - i; j++) {
                    if (A[j - 1] > A[j]){
                        int t = A[j - 1];
                        A[j - 1] = A[j];
                        A[j] = t;
                    }
                }
            }
        }
    }

}
